package com.hjm.project.accounts.virtualAccountDetail.domain;

import com.hjm.framework.web.domain.BaseEntity;
import java.math.BigDecimal;
import java.util.Date;
import com.hjm.framework.aspectj.lang.annotation.Excel;
import lombok.Data;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

/**
 * 虚拟账户记录对象 virtual_account_detail
 * 
 * @author maker-platform
 * @date 2022-03-16
 */
@Data
public class VirtualAccountDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** pk_id */
    private Integer id;

    /** 商户号 */
    @Excel(name = "商户号")
    private String merNo;

    /** 动账金额 */
    @Excel(name = "动账金额")
    private BigDecimal money;

    /** 单号（mer_paid结算流水号） */
    @Excel(name = "单号", readConverterExp = "m=er_paid结算流水号")
    private String orderNo;

    /** 动账类型 1 入账，2 出账 */
    @Excel(name = "动账类型 1 入账，2 出账")
    private Integer recordType;

    /** 当前账户余额 */
    @Excel(name = "当前账户余额")
    private BigDecimal balance;

    /** null */
    @Excel(name = "null")
    private String addDate;

    /** null */
    @Excel(name = "null")
    private String addTime;

    /** null */
    @Excel(name = "null", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /** 提现类型 0直接自动提现（打款） 1app提现 2满额提现 3定期自动提现 （只有出账才有）4平台提现 */
    @Excel(name = "提现类型 0直接自动提现", readConverterExp = "打=款")
    private Integer drawalType;

    /** 虚户归属  1上海 2北京 */
    @Excel(name = "虚户归属  1上海 2北京")
    private Integer vaType;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 1常规入账 2平台手动入账 （只有入账才有） */
    @Excel(name = "1常规入账 2平台手动入账 ", readConverterExp = "只=有入账才有")
    private Integer entryType;















    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("merNo", getMerNo())
            .append("money", getMoney())
            .append("orderNo", getOrderNo())
            .append("recordType", getRecordType())
            .append("balance", getBalance())
            .append("addDate", getAddDate())
            .append("addTime", getAddTime())
            .append("createDate", getCreateDate())
            .append("drawalType", getDrawalType())
            .append("vaType", getVaType())
            .append("remarks", getRemarks())
            .append("entryType", getEntryType())
            .toString();
    }
}
